package com.ruoyi.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 微信用户对象 wx_user
 *
 * @author asher
 * @date 2021-11-20
 */
public class WxUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 微信用户ID */
    private Long userId;

    /** 用户账号 */
    @Excel(name = "用户账号")
    private String userName;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickName;

    /** 用户邮箱 */
    @Excel(name = "用户邮箱")
    private String email;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phone;

    /** 用户性别（0男 1女 2未知） */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 头像地址 */
    @Excel(name = "头像地址")
    private String avatar;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 帐号状态（0正常 1停用） */
    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recentLoginDate;

    /** 国家 */
    @Excel(name = "国家")
    private String country;

    /** 省份 */
    @Excel(name = "省份")
    private String province;

    /** 语言 */
    @Excel(name = "语言")
    private String language;

    /** 城市 */
    @Excel(name = "城市")
    private String city;

    /** 微信开放id */
    @Excel(name = "微信开放id")
    private String openid;

    /** 微信公众平台唯一id */
    @Excel(name = "微信公众平台唯一id")
    private String unionid;

    /** 会话Key值 */
    @Excel(name = "会话Key值")
    private String sessionKey;

    /** 系统用户id */
    @Excel(name = "系统用户id")
    private Long sysUserId;

    /** 业主认证状态 */
    @Excel(name = "业主认证状态")
    private String ownerAuthStatus;

    /** 业主认证状态描述 */
    @Excel(name = "业主认证状态描述")
    private String ownerAuthStatusDes;

    /** 企业认证状态 */
    @Excel(name = "企业认证状态")
    private String companyAuthStatus;

    /** 企业认证状态描述 */
    @Excel(name = "企业认证状态描述")
    private String companyAuthStatusDes;

    /** 绑定小区ID */
    @Excel(name = "绑定小区ID")
    private Long bindingVillageId;

    /** 绑定小区名称 */
    @Excel(name = "绑定小区名称")
    private String bindingVillageName;

    /** 绑定公司ID */
    @Excel(name = "绑定公司ID")
    private Long bindingCompanyId;

    /** 绑定公司名称 */
    @Excel(name = "绑定公司名称")
    private String bindingCompanyName;

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setNickName(String nickName)
    {
        this.nickName = nickName;
    }

    public String getNickName()
    {
        return nickName;
    }
    public void setEmail(String email)
    {
        this.email = email;
    }

    public String getEmail()
    {
        return email;
    }
    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }

    public String getSex()
    {
        return sex;
    }
    public void setAvatar(String avatar)
    {
        this.avatar = avatar;
    }

    public String getAvatar()
    {
        return avatar;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }

    public String getPassword()
    {
        return password;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setRecentLoginDate(Date recentLoginDate)
    {
        this.recentLoginDate = recentLoginDate;
    }

    public Date getRecentLoginDate()
    {
        return recentLoginDate;
    }
    public void setCountry(String country)
    {
        this.country = country;
    }

    public String getCountry()
    {
        return country;
    }
    public void setProvince(String province)
    {
        this.province = province;
    }

    public String getProvince()
    {
        return province;
    }
    public void setLanguage(String language)
    {
        this.language = language;
    }

    public String getLanguage()
    {
        return language;
    }
    public void setCity(String city)
    {
        this.city = city;
    }

    public String getCity()
    {
        return city;
    }
    public void setOpenid(String openid)
    {
        this.openid = openid;
    }

    public String getOpenid()
    {
        return openid;
    }
    public void setUnionid(String unionid)
    {
        this.unionid = unionid;
    }

    public String getUnionid()
    {
        return unionid;
    }
    public void setSessionKey(String sessionKey)
    {
        this.sessionKey = sessionKey;
    }

    public String getSessionKey()
    {
        return sessionKey;
    }
    public void setSysUserId(Long sysUserId)
    {
        this.sysUserId = sysUserId;
    }

    public Long getSysUserId()
    {
        return sysUserId;
    }
    public void setOwnerAuthStatus(String ownerAuthStatus)
    {
        this.ownerAuthStatus = ownerAuthStatus;
    }

    public String getOwnerAuthStatus()
    {
        return ownerAuthStatus;
    }
    public void setOwnerAuthStatusDes(String ownerAuthStatusDes)
    {
        this.ownerAuthStatusDes = ownerAuthStatusDes;
    }

    public String getOwnerAuthStatusDes()
    {
        return ownerAuthStatusDes;
    }
    public void setCompanyAuthStatus(String companyAuthStatus)
    {
        this.companyAuthStatus = companyAuthStatus;
    }

    public String getCompanyAuthStatus()
    {
        return companyAuthStatus;
    }
    public void setCompanyAuthStatusDes(String companyAuthStatusDes)
    {
        this.companyAuthStatusDes = companyAuthStatusDes;
    }

    public String getCompanyAuthStatusDes()
    {
        return companyAuthStatusDes;
    }
    public void setBindingVillageId(Long bindingVillageId)
    {
        this.bindingVillageId = bindingVillageId;
    }

    public Long getBindingVillageId()
    {
        return bindingVillageId;
    }
    public void setBindingVillageName(String bindingVillageName)
    {
        this.bindingVillageName = bindingVillageName;
    }

    public String getBindingVillageName()
    {
        return bindingVillageName;
    }
    public void setBindingCompanyId(Long bindingCompanyId)
    {
        this.bindingCompanyId = bindingCompanyId;
    }

    public Long getBindingCompanyId()
    {
        return bindingCompanyId;
    }
    public void setBindingCompanyName(String bindingCompanyName)
    {
        this.bindingCompanyName = bindingCompanyName;
    }

    public String getBindingCompanyName()
    {
        return bindingCompanyName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("userId", getUserId())
                .append("userName", getUserName())
                .append("nickName", getNickName())
                .append("email", getEmail())
                .append("phone", getPhone())
                .append("sex", getSex())
                .append("avatar", getAvatar())
                .append("password", getPassword())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("recentLoginDate", getRecentLoginDate())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("country", getCountry())
                .append("province", getProvince())
                .append("language", getLanguage())
                .append("city", getCity())
                .append("openid", getOpenid())
                .append("unionid", getUnionid())
                .append("sessionKey", getSessionKey())
                .append("sysUserId", getSysUserId())
                .append("ownerAuthStatus", getOwnerAuthStatus())
                .append("ownerAuthStatusDes", getOwnerAuthStatusDes())
                .append("companyAuthStatus", getCompanyAuthStatus())
                .append("companyAuthStatusDes", getCompanyAuthStatusDes())
                .append("bindingVillageId", getBindingVillageId())
                .append("bindingVillageName", getBindingVillageName())
                .append("bindingCompanyId", getBindingCompanyId())
                .append("bindingCompanyName", getBindingCompanyName())
                .toString();
    }
}